#include "Conquista.h"
#include "Continente.h"
#include <sstream>

Conquista::Conquista(string continente,unsigned int territoriosAdicionales)
{
	this->continente = continente;
	this->territoriosAdicionales = territoriosAdicionales;
}

string Conquista::getObjetivo() {
	string objetivo = "conquistar el continente "+this->continente;
	if (territoriosAdicionales > 0) {
		std::stringstream extras;
		extras<<territoriosAdicionales;
		objetivo += " y "+extras.str()+" territorios de otros continentes";
	}
	return objetivo;
}

string Conquista::getContinente() {
	return continente;
}

unsigned int Conquista::getTerritoriosAdicionales() {
	return territoriosAdicionales;
}

bool Conquista::seCumplio(Juego* juego) {
	bool resultado = false;
	Continente* continente = juego->getMapa()->obtenerContinente(this->continente);
	if (continente->enPoderDeJugador(this->jugador->getColor())) {
		if ((juego->getMapa()->getTerritoriosEnPoderDeJugador(this->jugador->getColor()) - continente->getCantidadDeTerritoriosEnPoderDeJugador(this->jugador->getColor())) >= this->territoriosAdicionales)
			resultado = true;
	}
	return resultado;
}

Conquista::~Conquista()
{
}
